1. Technical Field
This disclosure relates to electronic design automation (EDA). More specifically, this disclosure relates to multiple-instantiated-module (MIM) aware pin assignment.
2. Related Art
Pin assignment (also known as pin placement) refers to the process of assigning pin locations to a partition or a block in the circuit design. A partition is a portion of the circuit design (a partition typically includes the details of the cells that are within the partition). A partition is not associated with a physical area in the chip, and a graphical user interface (GUI) of a floorplanning tool does not typically treat a partition as a floorplan object that can be graphically manipulated in the floorplan. A block, on the other hand, is a physical area in the circuit design layout that includes a portion of the circuit design. A GUI of a floorplanning tool can treat a block as a floorplan object that can be placed, and the GUI can be used to perform various graphical operations (e.g., moving, sizing, changing the shape) on the block.
Pin assignment can be performed on a partition or a block. The pins on the boundaries of a partition or a block are electrically connected to one or more cells within the partition or block. A terminal (e.g., an input or an output of a cell) in the partition or the block that needs to be electrically connected to another terminal that is outside the partition or block (e.g., an input of another cell in another partition or block) must pass through a pin in the partition or block.